#pragma once
#include "..\utils\GameMath.h"

namespace ds {

class Light {

public:
	Light();	
	void setAmbient(const Color &color);
	const Color getAmbient() { return m_Light.Ambient; }
	void setRange(const float r) { m_Light.Range =r; }
	const float getRange() { return m_Light.Range; }
	void setDiffuse(const Color &color);
	const Color getDiffuse() { return m_Light.Diffuse; }
	void setSpecular(const Color &color);
	void getSpecular(Color &_color) { _color = m_Light.Specular;}
	D3DLIGHT9 getLight() { return m_Light;}
	void setActive(bool act) { active = act;}
	bool isActive() { return active;}
	void setDirection(Vec3 direction);
	void setPosition(Vec3 direction);
	void setIndex(int idx) { index = idx;}
	int getIndex() { return index;}
protected:	
    Vec3 m_position;
    Vec3 m_direction;
	D3DLIGHT9 m_Light;
private:
	bool active;
	int index;
};

};
